package com.cv.platform.service.comment;

import com.cv.framework.common.pojo.PageResult;
import com.cv.platform.controller.platform.comment.vo.record.CvCommentCreateReqVO;
import com.cv.platform.controller.platform.comment.vo.record.CvCommentReqVO;
import com.cv.platform.controller.platform.comment.vo.record.CvCommentRespVO;

/**
 * 视频评论业务层接口
 * 
 * @author Charles_XDXD
 */
public interface CvCommentService {

    /**
     * 创建视频评论
     * 
     * @param reqVO 视频评论保存对象
     */
    void createComment(CvCommentCreateReqVO reqVO);

    /**
     * 获取视频评论分页数据
     *
     * @param reqVO 分页查询请求对象
     * @return 视频评论分页数据
     */
    PageResult<CvCommentRespVO> getCommentPage(CvCommentReqVO reqVO);

    /**
     * 通过评论编号获取视频编号
     */
    Long getVideoIdByCommentId(Long commentId);

    /**
     * 通过评论编号获取评论内容
     * 
     * @param commentId 评论编号
     */
    String getCommentContent(Long commentId);

    /**
     * 删除所有评论
     * 
     * @param userId 用户编号
     */
    void deleteAllComment(Long userId);
    
    /**
     * 删除评论
     * 
     * @param commentId 评论编号
     */
    void deleteComment(Long commentId);

}
